Search results for "Computer Science - Software Engineering"

showing 10 items of 26 documents

Software Startup Practices -- Software Development in Startups through the Lens of the Essence Theory of Software Engineering

2020

Software startups continue to be important drivers of economy globally. As the initial investment required to found a new software company becomes smaller and smaller resulting from technological advances such as cloud technology, increasing numbers of new software startups are born. Typically, the main argument for studying software startups is that they differ from mature software organizations in various ways, thus making the findings of many existing studies not directly applicable to them. How, exactly, software startups really differ from other types of software organizations as an on-going debate. In this paper, we seek to better understand how software startups differ from mature so…

FOS: Computer and information sciences050101 languages & linguisticsComputer scienceohjelmistotuotantoContext (language use)Cloud computing02 engineering and technologystartup-yrityksetThrough-the-lens meteringComputer Science - Software Engineeringcase studytapaustutkimusSoftwareArgument0202 electrical engineering electronic engineering information engineering0501 psychology and cognitive sciencesbusiness.industry05 social sciencesSoftware developmentInvestment (macroeconomics)software startupSoftware Engineering (cs.SE)software development020201 artificial intelligence & image processingessence theory of software engineeringohjelmistokehitysbusinessSoftware engineeringsoftware development practice
researchProduct

The Personal Software Process, Experiences from Denmark

2003

Software process improvement (SPI) research and practice is transforming from the traditional large-scale assessment based improvement initiatives into smaller sized, tailored initiatives where the emphasis is set on the development personnel and their personal abilities. The personal software process (PSPSM) is a method for improving the personal capabilities of a single software engineer. This paper contributes to the body of knowledge within this area by reporting experiences from Denmark. The results indicate an improvement in the effort estimation skills and a significant increase in the resulting product quality in terms of reduced total defect density. The data shows that with relati…

FOS: Computer and information sciencesCode reviewProcess managementbusiness.industryComputer sciencemedia_common.quotation_subjectcomputer.software_genreBody of knowledgeSoftware development processSoftware Engineering (cs.SE)Computer Science - Software EngineeringSoftwarePersonal software processQuality (business)Product (category theory)Set (psychology)businesscomputermedia_common
researchProduct

Sequentializing Parameterized Programs

2012

We exhibit assertion-preserving (reachability preserving) transformations from parameterized concurrent shared-memory programs, under a k-round scheduling of processes, to sequential programs. The salient feature of the sequential program is that it tracks the local variables of only one thread at any point, and uses only O(k) copies of shared variables (it does not use extra counters, not even one counter to keep track of the number of threads). Sequentialization is achieved using the concept of a linear interface that captures the effect an unbounded block of processes have on the shared state in a k-round schedule. Our transformation utilizes linear interfaces to sequentialize the progra…

FOS: Computer and information sciencesComputer Science - Logic in Computer ScienceScheduleComputer scienceD.2.4;F.3.1Interface (computing)Parameterized complexitymodel-checking02 engineering and technologyThread (computing)computer.software_genrelcsh:QA75.5-76.95parameterized programsComputer Science - Software Engineeringsoftware verification0202 electrical engineering electronic engineering information engineeringBlock (data storage)Programming languagelcsh:MathematicsD.2.4Local variable020207 software engineeringlcsh:QA1-939Logic in Computer Science (cs.LO)Software Engineering (cs.SE)Transformation (function)model-checking; software verification; parameterized programs020201 artificial intelligence & image processinglcsh:Electronic computers. Computer scienceState (computer science)F.3.1computerElectronic Proceedings in Theoretical Computer Science
researchProduct

Saying Hello World with MOLA - A Solution to the TTC 2011 Instructive Case

2011

This paper describes the solution of Hello World transformations in MOLA transformation language. Transformations implementing the task are relatively straightforward and easily inferable from the task specification. The required additional steps related to model import and export are also described.

FOS: Computer and information sciencesComputer Science - Programming LanguagesbiologyComputer scienceProgramming languagelcsh:Mathematicsbiology.organism_classificationcomputer.software_genrelcsh:QA1-939Transformation languagelcsh:QA75.5-76.95Task (project management)Software Engineering (cs.SE)Computer Science - Software EngineeringMolaInstructive caselcsh:Electronic computers. Computer sciencecomputerProgramming Languages (cs.PL)Electronic Proceedings in Theoretical Computer Science
researchProduct

The Essence Theory of Software Engineering – Large-Scale Classroom Experiences from 450+ Software Engineering BSc Students

2018

Software Engineering as an industry is highly diverse in terms of development methods and practices. Practitioners employ a myriad of methods and tend to further tailor them by e.g. omitting some practices or rules. This diversity in development methods poses a challenge for software engineering education, creating a gap between education and industry. General theories such as the Essence Theory of Software Engineering can help bridge this gap by presenting software engineering students with higher-level frameworks upon which to build an understanding of software engineering methods and practical project work. In this paper, we study Essence in an educational setting to evaluate its usefuln…

FOS: Computer and information sciencesComputer sciencepracticesmedia_common.quotation_subjectohjelmistotuotantoContext (language use)02 engineering and technologyBridge (nautical)menetelmätComputer Science - Software Engineeringsoftware process engineering020204 information systems0202 electrical engineering electronic engineering information engineeringEssence Theorymedia_commoneducationbusiness.industrySEMATScale (chemistry)020207 software engineeringkäytäntöohjelmistosuunnitteluSoftware Engineering (cs.SE)koulutusWork (electrical)Software engineeringbusinessDiversity (politics)
researchProduct

Amidst Uncertainty–or Not? : Decision-Making in Early-Stage Software Startups

2019

It is commonly claimed that the initial stages of any startup business are dominated by continuous, extended uncertainty, in an environment that has even been described as chaotic. Consequently, decisions are made in uncertain circumstances, so making the right decision is crucial to successful business. However, little currently exists in the way of empirical studies into this supposed uncertainty. In this paper, we study decision-making in early-stage software startups by means of a single, in-depth case study. Based on our data, we argue that software startups do not work in a chaotic environment, nor are they characterized by unique uncertainty unlike that experienced by other firms. pe…

FOS: Computer and information sciencesComputer sciencepäätöksentekoeducation02 engineering and technologyentrepreneurshipstartup-yrityksetComputer Science - Software EngineeringSoftwareEmpirical researchohjelmistoala0202 electrical engineering electronic engineering information engineeringcynefin frameworkliiketoimintaympäristöbusiness.industry020207 software engineeringdecision-makingyrittäjyys113 Computer and information sciencesin-depth case studyepävarmuusIndustrial engineeringSoftware Engineering (cs.SE)Work (electrical)020201 artificial intelligence & image processingsoftware startupsStage (hydrology)business
researchProduct

A comprehensive study of automatic program repair on the QuixBugs benchmark

2021

Abstract Automatic program repair papers tend to repeatedly use the same benchmarks. This poses a threat to the external validity of the findings of the program repair research community. In this paper, we perform an empirical study of automatic repair on a benchmark of bugs called QuixBugs, which has been little studied. In this paper, (1) We report on the characteristics of QuixBugs; (2) We study the effectiveness of 10 program repair tools on it; (3) We apply three patch correctness assessment techniques to comprehensively study the presence of overfitting patches in QuixBugs. Our key results are: (1) 16/40 buggy programs in QuixBugs can be repaired with at least a test suite adequate pa…

FOS: Computer and information sciencesCorrectnessComputer science02 engineering and technologyOverfittingMachine learningcomputer.software_genreMaintenance engineeringExternal validityComputer Science - Software Engineering020204 information systems0202 electrical engineering electronic engineering information engineeringTest suite[INFO]Computer Science [cs]computer.programming_languagebusiness.industry020207 software engineeringSoftware maintenancePython (programming language)Software Engineering (cs.SE)Software bugHardware and ArchitectureBenchmark (computing)Artificial intelligencebusinesscomputerSoftwareInformation Systems
researchProduct

The entrepreneurial logic of startup software development : A study of 40 software startups

2021

Context: Software startups are an essential source of innovation and software-intensive products. The need to understand product development in startups and to provide relevant support are highlighted in software research. While state-of-the-art literature reveals how startups develop their software, the reasons why they adopt these activities are underexplored. Objective: This study investigates the tactics behind software engineering (SE) activities by analyzing key engineering events during startup journeys. We explore how entrepreneurial mindsets may be associated with SE knowledge areas and with each startup case. Method: Our theoretical foundation is based on causation and effectuatio…

FOS: Computer and information sciencesEffectuationKnowledge managementComputer scienceeffectuation theoryohjelmistotuotantopäätöksentekoSample (statistics)effectuation indexstartup-yrityksetComputer Science - Software Engineeringcase studySoftwareohjelmistoalasoftware startup engineeringMinimum viable productentrepreneurial logicsbusiness.industrySoftware developmentsoftware engineering for startupsSoftware Engineering (cs.SE)Technical debtNew product developmenttuotekehitysThematic analysisbusinessohjelmistokehitysSoftware
researchProduct

Automated Patch Assessment for Program Repair at Scale

2021

AbstractIn this paper, we do automatic correctness assessment for patches generated by program repair systems. We consider the human-written patch as ground truth oracle and randomly generate tests based on it, a technique proposed by Shamshiri et al., called Random testing with Ground Truth (RGT) in this paper. We build a curated dataset of 638 patches for Defects4J generated by 14 state-of-the-art repair systems, we evaluate automated patch assessment on this dataset. The results of this study are novel and significant: First, we improve the state of the art performance of automatic patch assessment with RGT by 190% by improving the oracle; Second, we show that RGT is reliable enough to h…

FOS: Computer and information sciencesGround truthCorrectnessComputer sciencebusiness.industryRandom testing020207 software engineering02 engineering and technologyOverfittingMachine learningcomputer.software_genreOracleSoftware Engineering (cs.SE)External validityComputer Science - Software Engineering020204 information systems0202 electrical engineering electronic engineering information engineering[INFO]Computer Science [cs]State (computer science)Artificial intelligencebusinessScale (map)computerSoftware
researchProduct

Factors and actors leading to the adoption of a JavaScript framework

2018

The increasing popularity of JavaScript has led to a variety of JavaScript frameworks that aim to help developers to address programming tasks. However, the number of JavaScript frameworks has risen rapidly to thousands of versions. It is challenging for practitioners to identify the frameworks that best fit their needs and to develop new ones which fit such needs. Furthermore, there is a lack of knowledge regarding what drives developers towards the choice. This paper explores the factors and actors that lead to the choice of a JavaScript framework. We conducted a qualitative interpretive study of semi-structured interviews. We interviewed 18 decision makers regarding the JavaScript framew…

FOS: Computer and information sciencesJavaScriptKnowledge managementComputer sciencehuman aspects of software developmentpäätöksentekotulkintalaadullinen tutkimus02 engineering and technologyUnified theory of acceptance and use of technologyJavaScriptohjelmointikieletWorld Wide WebBody of knowledgeComputer Science - Software Engineeringinterpretivism0202 electrical engineering electronic engineering information engineeringomaksuminenSocial influencecomputer.programming_languageExpectancy theoryLearnabilitybusiness.industry020207 software engineeringCompetitor analysisprogramming frameworkstechnology adoptionPopularitySoftware Engineering (cs.SE)teknologia020201 artificial intelligence & image processingohjelmistokehityskvalitatiivinen tutkimusbusinesscomputerSoftwareEmpirical Software Engineering
researchProduct